Humans tend to think in associative terms, so a desire to execute a particular task is more naturally associated with a single keyword rather than a path through menus. It is this need to memorize associations between tasks and paths through menus and other user interface (UI) elements that contributes a great deal to why computers are often hard to use.
There are many commands available to the user at any one time, and currently they are generally organized in hierarchies, which are hard for people to traverse. Generally, to access something in a menu system of a current computing environment, the user must manually (i.e., visually and through making numerous selections though a mouse or keyboard) traverse a tree. Accessing a document requires traversing a directory tree. Accessing a command requires traversing menu tree. There are many things one can do at any given time, and arranging these options in tree has traditionally been a way to make it easier for humans to arrive at a desired command. Humans are not very good at linear searches over long lists, so the hierarchical menu system has offered a user what is effectively a manual tree-based search, which may easily become difficult and time consuming with large hierarchies.
In this regard, there is a need for systems and methods to simplify and speed up access to large number of commands for users of any level.